/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.common.datareport.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 描述: 案件数据上报记录表 case_data_report_record 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 *
 * @author framework generator
 * @LocalDateTime 2022年03月30日
 */
@Table(name = "upcase.case_data_report_record")
@Data
@NoArgsConstructor
public class CaseDataReportRecord implements Serializable {
    /**
     * 主键id
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 案件id
     */
    @Column(name = "case_id")
    private String caseId;

    /**
     * 案件阶段编码
     */
    @Column(name = "case_stage_code")
    private String caseStageCode;

    /**
     * 案件环节编码
     */
    @Column(name = "case_link_code")
    private String caseLinkCode;

    /**
     * 上报数据类型（数据字典REPORT_DATA_TYPE）
     */
    @Column(name = "report_data_type")
    private String reportDataType;

    /**
     * 上报动作类型（I-新增/U-修改/D-删除）
     */
    @Column(name = "report_action_type")
    private String reportActionType;

    /**
     * 是否为测试数据（0-否/1-是）
     */
    @Column(name = "is_test_data")
    private String isTestData;

    /**
     * 上报数据内容
     */
    @Column(name = "report_data_content")
    private String reportDataContent;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 上报结果（0-成功/1-失败）
     */
    @Column(name = "report_result")
    private String reportResult;

    /**
     * 上报失败原因
     */
    @Column(name = "report_fail_reason")
    private String reportFailReason;

    /**
     * 上报失败次数
     */
    @Column(name = "report_fail_count")
    private Integer reportFailCount;

    /**
     * 当事人id
     */
    @Column(name = "party_id")
    private String partyId;

    /**
     * 公示时间
     */
    @Column(name = "public_date")
    private LocalDateTime publicDate;

    /**
     * 公示地址
     */
    @Column(name = "public_url")
    private String publicUrl;

    private static final long serialVersionUID = 1L;
}